Application Notes:
Aplikačné poznámky:
(1) Inappropriate use of
Measure(TRUE) or
MeasureChan(TRUE) call can lead to application
dead-lock.
I.e. in polling mode (Interrupt service is disabled)
the application stucks in Measure method, if Disable
method is called from an event of other bean,
or the speed mode is switched to a mode where the ADC bean is disabled while a measurement
launched by Measure(TRUE) method is in progress.
Or if method Measure(TRUE) is called from an event of some bean and the
priority of the interrupt of ADC bean isn't higher
than the priority of this event (Interrupt service is enabled), this method will
stuck.
(1) Nevhodné využitie volania Measure(TRUE)
alebo
MeasureChan(TRUE) môže viesť
ku aplikačnému smrtelnému zablokovaniu systému (dead-lock).
T.j. v režime pooling (Interrupt
service - obsluha prerušenia je zakázaná) aplikácia
zaklinená v metóde Measure
- Meranie, ak metóda Disable
je volaná z udalosti iného beanu, alebo speed
mode - rezim rýchlosti je prepnutý do režimu v ktorom
je bean ADC zakázaný pokiaľ meranie je odštartované
metódou Measure(TRUE)
is in progress.
Alebo ak metóda Measure(TRUE)
je volaná z udalosti niektorého beanu a
priority - priorita prerušenia od
ADC beanu nie je vyššia ako priorita tejto udalosti (Interrupt
service - obsluha prerušenia je povolená), táto metóda
bude zaklinená.
Version specific information for HCS12 derivatives
Od verzie závislé špecifické informácie k rodine mikropočítčov HCS12
(2) Problem with clearing External Trigger Overrun Flag
There is an issue concerning clearing of the ETORF flag. According to the datasheet writing 1 into the corresponding bit clears
the ETORF flag. However this method fails on some versions of the HCS12 family (e.g. DP256B and others, see errata). It wasn't possible
to use an alternative clearing method in all configurations of the ADC bean. As a result on some HCS12 derivatives the OnTrgOverrun
event may be called inadvertently several times, because the ETORF flag is not cleared correctly.
If selected CPU is affected by this problem in AD converter (see errata) the clearing of the ETORF flag can be ensured by writing to a control
register of the AD converter in the OnTrgOverrun event. This can be accomplished e.g. by sequential
calling of Disable and Enable methods, or by calling
Stop method followed by calling of a measuring
method.
(2) Problém s mazaním príznaku pretečenia externého
triggeru. Tu je jeden problém týkajúci sa mazania príznaku ETORF.
Podľa dokumentácie zápis 1 do odpovedajúceho bitu zmaže príznak ETORF.
Napriek tomu táto metóda dopadne s chybou v niektorých verziách rodiny
mikropočítačov HCS12 (napr. DP256B a iné pozrite prílohu chýb).
Nie je možné použiť alternatívnu mazaciu metódu vo všetkých konfiguráciách
ADC beanov. Ako výsledok v niektorých mikropočítačov patriacich do
rodiny HCS12 udalosť OnTrgOverrun
môže byť volaná omylom niekoľko krát, z dôvodu že sa príznak
ETORF sa nezmazal korektne. Ak vybratý CPU je ovplyvnený týmto problémom v
AD prevodníku (pozrite prílohu chýb) zmazanie príznaku ETORF môže byť
zaistené zápisom do riadiaceho registra AD konvertora v udalosti OnTrgOverrun.
To môže byť zabezpečené napr. sekvenčným volaním metódy Disable
a Enable, alebo volaním metódy Stop
nasledovanej volaním metódy merania.
Example 1:
Príklad
1:
EVENTS.C
void AD_OnTrgOverrun(void)
{
AD_Disable();
AD_Enable();
........
}
Example 2:
Príklad
2:
EVENTS.C
void AD_OnTrgOverrun(void)
{
AD_Stop();
AD_EnableExtTrigger();
........
}
|